/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package compilador;

import compilador.pojo.Mensagem;


/**
 *
 * @author H
 */
public class Compilador {

    String nomeArquivo;
    
    /**
     *
     */
    public Compilador( String nomeArquivo ) {
        
        this.nomeArquivo = nomeArquivo;
    }

    /**
     *
     * @param codigoFonte
     * @return mensagem
     */
    public Mensagem compilar(String codigoFonte) {

        
        AnalisadorLexical al = new AnalisadorLexical(codigoFonte);
        AnalisadorSintatico as = new AnalisadorSintatico(al, this.nomeArquivo);
//        Object retorno = al.pegaToken();
//
//        while (retorno instanceof Token) {
//
//            token = (Token) retorno;
//            //System.out.println((token != null) ? token.toString() : "");
//
//            retorno = al.pegaToken();
//        }
//
//        mensagem = (Mensagem) retorno;
//        System.out.println(mensagem.getMensagem());

        return as.analiseSintatica();
    }
}